#ifndef __GOFGAME_COMMON_RESOURCE_TEXTURE_BRUSH_RESOURCE_H__
#define __GOFGAME_COMMON_RESOURCE_TEXTURE_BRUSH_RESOURCE_H__

#include "gofgame/common/resource/TypedResource.h"
#include "gofgame/common/graphics/TextureBrush.h"
#include <string>

namespace gofgame {
	namespace common {
		namespace resource {

			using namespace gofgame::common::graphics;
			using namespace std;

			struct TextureBrushResource : public TypedResource<TextureBrush> {
			public:
				TextureBrushResource(const char *imageName, Brush *baseBrush = nullptr);

			protected:
				virtual void onCollectFileNames(FileNameCollector &fnc) _override;
				virtual void onLoad() _override;

			private:
				string imageName;
				Ref<Brush> baseBrush;
			};
		}
	}
}

#endif //__GOFGAME_COMMON_RESOURCE_TEXTURE_BRUSH_RESOURCE_H__
